package com.stone.stoneanswer.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.stone.stoneanswer.model.dto.answer.AnswerResultAddRequest;
import com.stone.stoneanswer.model.dto.answer.AnswerResultGetRequest;
import com.stone.stoneanswer.model.entity.AnswerResult;
import com.stone.stoneanswer.model.vo.AnswerResultVO;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
* @author 35431
* @description 针对表【answer_result(题目作答结果表)】的数据库操作Service
* @createDate 2025-03-20 11:44:00
*/
public interface AnswerResultService extends IService<AnswerResult> {
    Long answerQuestion(AnswerResultAddRequest answerResultAddRequest, HttpServletRequest request);

    AnswerResultVO getAnswerResultByBankId(Long bankId, HttpServletRequest request);

    Page<AnswerResultVO> listMyAnswerResultVOByPage(AnswerResultGetRequest answerResultGetRequest , HttpServletRequest request);

    Page<AnswerResultVO> listAnswerResultVOByPage(AnswerResultGetRequest answerResultGetRequest, HttpServletRequest request);


    List<AnswerResult> getAnswerResultByUserId(Long id);

    SseEmitter getAnalyzeResult(Long answerResultId);
}
